#============================================================================
import os
-import sha
import stat
import array
import struct
import shutil
import commands
+
+# sha is deprecated as of python 2.6
+try:
+ from hashlib import sha1
+except ImportError:
+ # but hashlib was only added in python 2.5
+ from sha import new as sha1
+
from xml.dom import minidom, Node
from xen.xend.XendLogging import log
from xen.util import xsconstants, bootloader, mkdir
return None
def hash(self):
- """ Calculate a SAH1 hash of the XML policy """
- return sha.sha(self.toxml())
+ """ Calculate a SHA1 hash of the XML policy """
+ return sha1(self.toxml())
def save(self):
### Save the XML policy into a file ###
import inspect
import os
import Queue
-import sets
import string
import sys
import traceback
import time
import xmlrpclib
+# sets is deprecated as of python 2.6, but set is unavailable in 2.3
+try:
+ set
+except NameError:
+ from sets import Set as set
+
import XendDomain, XendDomainInfo, XendNode, XendDmesg
import XendLogging, XendTaskManager, XendAPIStore
def event_register(session, reg_classes):
if session not in event_registrations:
event_registrations[session] = {
- 'classes' : sets.Set(),
+ 'classes' : set(),
'queue' : Queue.Queue(EVENT_QUEUE_LENGTH),
'next-id' : 1
}
if not reg_classes:
reg_classes = classes
- if hasattr(set, 'union_update'):
- event_registrations[session]['classes'].union_update(reg_classes)
+ sessionclasses = event_registrations[session]['classes']
+ if hasattr(sessionclasses, 'union_update'):
+ sessionclasses.union_update(reg_classes)
else:
- event_registrations[session]['classes'].update(reg_classes)
+ sessionclasses.update(reg_classes)